# -*- coding: utf-8 -*-
# time: 2025/4/9 16:32
# file: ds_autoTokenizer.py
# author: hanson
"""
加载本地预训练模型指南
AutoTokenizer.from_pretrained 是 Hugging Face Transformers 库中的核心方法，用于根据预训练模型名称或本地路径加载对应的分词器（Tokenizer），实现文本与模型输入格式之间的转换‌
国内使用会经常用不了：
‌本地路径指定‌：通过 pretrained_model_name_or_path 参数传递本地目录路径（如 "./local_model"
‌强制本地加载‌：添加 local_files_only=True 可避免自动联网下载‌
不要使用 from transformers import AutoTokenizer
使用： from modelscope import AutoTokenizer
注意下面3个加载的区别
"""
from modelscope import AutoTokenizer, MsDataset
from modelscope import AutoModel

# 1.加载预训练分词器 或者说是 加载 ModelScope 分词器
tokenizer = AutoTokenizer.from_pretrained(
    "AI-ModelScope/alpaca-gpt4-data-zh")

# 对文本编码
text = "Hello, how are you?"
encoded_input = tokenizer(text, return_tensors="pt")
print(encoded_input["input_ids"])

# 2. 加载 ModelScope 模型
model = AutoModel.from_pretrained(
    "qwen/Qwen2-0.5B-Instruct",
    trust_remote_code=True
)

# 3. 加载数据集
dataset = MsDataset.load("damo/Chinese_Medical_Question_Pairs", split="train")

# 4. 处理数据并推理
for item in dataset:
    inputs = tokenizer(item["question1"], return_tensors="pt")
    outputs = model(**inputs)
    print(outputs)